package com.system.healthproject.model.sickuser.service;

import com.system.healthproject.bean.DoctorInfo;
import com.system.healthproject.bean.PagesBean;
import com.system.healthproject.bean.ReactionParams;
import com.system.healthproject.common.ApiResult;
import com.system.healthproject.model.admin.paramsbean.*;
import com.system.healthproject.model.sickuser.params.UserDoctorsItem;
import com.system.healthproject.model.sickuser.params.UserEditPatientParams;
import com.system.healthproject.model.sickuser.params.UserPatientInfo;
import com.system.healthproject.model.sickuser.params.UserRegisterPhone;

import java.util.List;

public interface SickUserServices {

    String login(LoginParams loginParams);

    Boolean register(UserRegisterPhone loginParams);

    Boolean addFrequency(int frequencyNumber, Integer loginId);

    ApiResult<Object> addReactions(ReactionParams reactionParams, Integer loginId);

    ApiResult bindDoctor(Integer loginId, Integer doctorId);

    DoctorInfo userGetDoctorInfoById(Integer loginId, Integer doctorId);

    UserPatientInfo getPatientInfo(Integer loginId);

    List<FrequencyParams> userGetFrequencyList(Integer loginId, int type);

    List<ReactionsParams> userGetReactions(Integer loginId, int type);

    PagesBean<VisitRecordsShowParams> userGetVisitRecordsList(int page, int size, Integer loginId);

    RecordInfoParams userGetRecordInfo(Integer loginId, int recordId);

    List<UserDoctorsItem> userGetDoctorsList(Integer loginId, Integer isFollow);

    boolean userFollowDoctor(Integer loginId, Integer doctorId);

    boolean userEditPatient(UserEditPatientParams patientDoctor, Integer loginId);

    PatientInfo userPatientInfo(Integer loginId);

    Integer addTransaction(String orderId, String time, String money);

    Double selectMoney(String orderNo);
}
